﻿# Подключение Tessel к мобильной службе Azure
---------------------------------------------
В данной работе вы напишете код для Tessel, осуществляющий обмен данными с мобильной службой.

## Подготовка необходимых библиотек

Напоминаем, при подготовке окружения Node.JS вы создали рабочую директорию **c:\tessel-code**.

1. Запустите командную строку (для Windows 8.1 перейдите на стартовый экран, наберите **cmd** и выберите появившийся элемент **Командная строка**)

2. Внутри директории **c:\tessel-code** создайте поддиректорию **api-client** и перейдите в нее:
```
cd /d c:\tessel-code
mkdir api-client
cd api-client
```

3. Установите необходимые библиотеки (если у вас климатический модуль **si7005**, то замените **climate-si7020** на **climate-si7005**):
```
npm install climate-si7020
npm install request
npm install querystring
```

4. Из комплекта материалов к руководству (директория **code**) скопируйте в директорию **api-client** файл **api-client.js** и откройте его в текстовом редакторе.

5. Ознакомьтесь с кодом и комментариями. Найдите в начале кода строку
```
var climatelib = require('climate-si7020');
var url = "http://<put your mobile service name here>.azure-mobile.net/api/<put your api name here>"
```
Если вы используете климатический модуль **si7005**, вместо ```climate-si7005``` вставьте ```climate-si7020```. Вместо
```<put your mobile service name here>```
и
```<put your api name here>```
укажите имя вашей мобильной службы и API соответственно, например:
```
var climatelib = require('climate-si7020');
var url = "http://tessel-demo.azure-mobile.net/api/dev_api"
```

6. Вернитесь к командной строке, убедитесь, что Tessel подключен и выполните соединение с доступной сетью Wi-Fi. Если доступная вам сеть открытая и не требует пароля, используйте команду ниже, подставив вместо **SSID** имя сети:
```
tessel wifi -n SSID
```
Если же сеть закрытая, используйте команду ниже, подставив дополнительно пароль вместо **password**
```
tessel wifi -n SSID -p password
```
При подключении к Wi-Fi сети желтый светодиод на плате будет мигать.

7. Убедитесь, что подключение было выполнено успешно: желтый светодиод должен гореть постоянно. Если в дальнейшем сеть будет в зоне доступа, Tessel будет автоматически подключаться к ней.

8. Наберите в командной строке
```
tessel run api-client.js
```
для запуска кода. Из-за наличия "тяжелых" библиотек в сборке запуск устройства может выполняться длительное время.
> Для целей отладки можете использовать код **api-client-emulation.js**, который не требует Tessel.

7. Наблюдайте в появившемся журнале, как Tessel подключился к мобильной службе и осуществляет обмен данными с ней. Если вы захотите остановить процесс, нажмите *Ctrl + C*. При этом выполняемый скрипт завершится.

8. Хотя приведенный код позволяет получать данные из таблица и соответствующим образом изменять состояние светодиодов, в таблице еще нет соответствующих данных, и поэтому данный функционал не работает. В следующей работе мы создадим мобильное приложение, которое обеспечит соответствующий функционал.
